{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# CNKI_Selenium"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 197,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from lxml.html import fromstring\n",
    "import time\n",
    "from random import random\n",
    "import requests_html\n",
    "from requests_html import HTMLSession\n",
    "from selenium import webdriver\n",
    "from selenium.webdriver.common.desired_capabilities import DesiredCapabilities"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 使用Selenium\n",
    "* 要更改 opts.binary_location 至自己本地的Chrome浏览器，建议portable\n",
    "* Chrome浏览器 和 chromedriver.exe要同版本号到小数后一位\n",
    "* 要确保可以 开启浏览器机器人\n",
    "* 要确保浏览器机器人 可以打开网页 driver.get(\"https://mp.weixin.qq.com\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 198,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on package selenium:\n",
      "\n",
      "NAME\n",
      "    selenium\n",
      "\n",
      "DESCRIPTION\n",
      "    # Licensed to the Software Freedom Conservancy (SFC) under one\n",
      "    # or more contributor license agreements.  See the NOTICE file\n",
      "    # distributed with this work for additional information\n",
      "    # regarding copyright ownership.  The SFC licenses this file\n",
      "    # to you under the Apache License, Version 2.0 (the\n",
      "    # \"License\"); you may not use this file except in compliance\n",
      "    # with the License.  You may obtain a copy of the License at\n",
      "    #\n",
      "    #   http://www.apache.org/licenses/LICENSE-2.0\n",
      "    #\n",
      "    # Unless required by applicable law or agreed to in writing,\n",
      "    # software distributed under the License is distributed on an\n",
      "    # \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n",
      "    # KIND, either express or implied.  See the License for the\n",
      "    # specific language governing permissions and limitations\n",
      "    # under the License.\n",
      "\n",
      "PACKAGE CONTENTS\n",
      "    common (package)\n",
      "    webdriver (package)\n",
      "\n",
      "VERSION\n",
      "    3.141.0\n",
      "\n",
      "FILE\n",
      "    e:\\anaconda\\anaconda3\\lib\\site-packages\\selenium\\__init__.py\n",
      "\n",
      "\n"
     ]
    }
   ],
   "source": [
    "import selenium\n",
    "help(selenium)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 199,
   "metadata": {},
   "outputs": [],
   "source": [
    "# coding=utf-8\n",
    "from selenium import webdriver\n",
    "import time\n",
    "\n",
    "wd = webdriver.Chrome()\n",
    "wd.get(\"https://www.baidu.com\")    # 打开百度浏览器\n",
    "wd.find_element_by_id(\"kw\").send_keys(\"selenium\")   # 定位输入框并输入关键字\n",
    "wd.find_element_by_id(\"su\").click()   #点击[百度一下]搜索\n",
    "time.sleep(3)   #等待3秒\n",
    "wd.quit()   #关闭浏览器"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 200,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "<ipython-input-200-de9f62921b94>:19: DeprecationWarning: use options instead of chrome_options\n",
      "  driver = webdriver.Chrome( chrome_options = opts) #desired_capabilities=caps,\n"
     ]
    }
   ],
   "source": [
    "from selenium import webdriver\n",
    "from selenium.webdriver.common.desired_capabilities import DesiredCapabilities\n",
    "\n",
    "\n",
    "#caps=dict()\n",
    "#caps[\"pageLoadStrategy\"] = \"none\"   # Do not wait for full page load\n",
    "\n",
    "opts = webdriver.ChromeOptions()\n",
    "opts.add_argument('--no-sandbox')#解决DevToolsActivePort文件不存在的报错\n",
    "opts.add_argument('window-size=1920x3000') #指定浏览器分辨率\n",
    "opts.add_argument('--disable-gpu') #谷歌文档提到需要加上一这个属性来规避bug\n",
    "opts.add_argument('--hide-scrollbars') #隐藏滚动条, 应对些特殊页面\n",
    "#opts.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度\n",
    "#opts.add_argument('--headless') #浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败\n",
    "# opts.binary_location = \"C:\\portable\\PortableApps\\IronPortable\\App\\Iron\\chrome.exe\"\n",
    "\n",
    "\n",
    "# \"H:\\_coding_\\Gitee\\InternetNewMedia\\CapstonePrj2016\\chromedriver.exe\"  \n",
    "driver = webdriver.Chrome( chrome_options = opts) #desired_capabilities=caps,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 201,
   "metadata": {},
   "outputs": [],
   "source": [
    "driver.get(\"https://www.cnki.net/\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 高级检索"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 202,
   "metadata": {},
   "outputs": [],
   "source": [
    "element = driver.find_element_by_xpath('//*[@id=\"highSearch\"]')\n",
    "element.click()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 203,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['CDwindow-4E910B4E9873EB1E188DE0EF51391760', 'CDwindow-AC6074C74D55D08CC31E770C9C7839F4']\n"
     ]
    }
   ],
   "source": [
    "print (driver.window_handles)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 204,
   "metadata": {},
   "outputs": [],
   "source": [
    "driver.switch_to.window(driver.window_handles[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 205,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'CDwindow-AC6074C74D55D08CC31E770C9C7839F4'"
      ]
     },
     "execution_count": 205,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "driver.current_window_handle"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 206,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "# element = driver.find_element_by_xpath('/html/body/div[3]/div[1]/div/ul[1]/li[1]/a')\n",
    "# element.click()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 207,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 选择学术期刊\n",
    "driver.find_element_by_xpath('//li[@data-id=\"xsqk\"]').click()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 208,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 点击专业检索\n",
    "driver.find_element_by_name('majorSearch').click()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 209,
   "metadata": {},
   "outputs": [],
   "source": [
    "#勾选期刊类型\n",
    "element = driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div/div[1]/div[1]/div[2]/div[1]/div[3]/div/label[2]/input')\n",
    "element.click()\n",
    "#\n",
    "element = driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div/div[1]/div[1]/div[2]/div[1]/div[3]/div/label[4]/input')\n",
    "element.click()\n",
    "#\n",
    "element = driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div/div[1]/div[1]/div[2]/div[1]/div[3]/div/label[5]/input')\n",
    "element.click()\n",
    "#\n",
    "element = driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div/div[1]/div[1]/div[2]/div[1]/div[3]/div/label[6]/input')\n",
    "element.click()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 210,
   "metadata": {},
   "outputs": [],
   "source": [
    "大数据_平台_query = '(SU=\"大数据\" and SU=\"平台\") OR (SU=\"大数据\" and SU=\"新媒体\")'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 211,
   "metadata": {},
   "outputs": [],
   "source": [
    "element = driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div/div[1]/div[1]/div[2]/textarea')\n",
    "element.clear()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 212,
   "metadata": {},
   "outputs": [],
   "source": [
    "element = driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div/div[1]/div[1]/div[2]/textarea').send_keys(大数据_平台_query)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 213,
   "metadata": {},
   "outputs": [],
   "source": [
    "#点击检索\n",
    "element = driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div/div[1]/div[1]/div[2]/div[2]/input')\n",
    "element.click()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 216,
   "metadata": {},
   "outputs": [],
   "source": [
    "#50\n",
    "element = driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[2]/div[2]/form/div/div[1]/div[2]/div[2]/div/div/div/i')\n",
    "element.click()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 217,
   "metadata": {},
   "outputs": [],
   "source": [
    "element = driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[2]/div[2]/form/div/div[1]/div[2]/div[2]/div/div/ul/li[3]/a')\n",
    "element.click()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 218,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>篇名</th>\n",
       "      <th>作者</th>\n",
       "      <th>刊名</th>\n",
       "      <th>发表时间</th>\n",
       "      <th>被引</th>\n",
       "      <th>下载</th>\n",
       "      <th>操作</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>加强新时代高校网络思想政治教育探究</td>\n",
       "      <td>高歌</td>\n",
       "      <td>学校党建与思想教育</td>\n",
       "      <td>2021-06-23</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>数据驱动外卖平台智能派单的实现机理研究  网络首发</td>\n",
       "      <td>熊浩; 鄢慧丽</td>\n",
       "      <td>南开管理评论</td>\n",
       "      <td>2021-06-22 08:51</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>基于大数据的煤矿综合业务管控平台开发  网络首发</td>\n",
       "      <td>张波;赵耀忠;刘跃;田文明;赵晋松</td>\n",
       "      <td>热力发电</td>\n",
       "      <td>2021-06-21 17:09</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>基于工业物联网的智能矿山基础信息采集关键技术与平台  网络首发</td>\n",
       "      <td>贺耀宜; 刘丽静; 赵立厂; 周李兵</td>\n",
       "      <td>工矿自动化</td>\n",
       "      <td>2021-06-21 15:36</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>基于智慧协同的电子商务物流体系优化</td>\n",
       "      <td>张滨丽; 王作铁</td>\n",
       "      <td>商业经济研究</td>\n",
       "      <td>2021-06-21</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>6</td>\n",
       "      <td>“互联网+”背景下餐饮类商业老字号转型升级研究</td>\n",
       "      <td>吕倩</td>\n",
       "      <td>商业经济研究</td>\n",
       "      <td>2021-06-21</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>7</td>\n",
       "      <td>关于城市大脑未来形态的思考  网络首发</td>\n",
       "      <td>胡坚波</td>\n",
       "      <td>人民论坛·学术前沿</td>\n",
       "      <td>2021-06-18 11:09</td>\n",
       "      <td>NaN</td>\n",
       "      <td>151.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>8</td>\n",
       "      <td>基于大数据的数字化电能计量误差分析  网络首发</td>\n",
       "      <td>田园; 张梅; 保富; 原野</td>\n",
       "      <td>电测与仪表</td>\n",
       "      <td>2021-06-17 10:38</td>\n",
       "      <td>NaN</td>\n",
       "      <td>14.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>9</td>\n",
       "      <td>基于4S融合的新一代智能汽车创新发展战略研究</td>\n",
       "      <td>刘宗巍; 宋昊坤; 郝瀚; 赵福全</td>\n",
       "      <td>中国工程科学</td>\n",
       "      <td>2021-06-15 16:45</td>\n",
       "      <td>NaN</td>\n",
       "      <td>89.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>10</td>\n",
       "      <td>法益抑或财产权利？——《民法典》规定的“数据”的法律性质认定</td>\n",
       "      <td>沈浩蓝</td>\n",
       "      <td>科技与法律(中英文)</td>\n",
       "      <td>2021-06-12</td>\n",
       "      <td>NaN</td>\n",
       "      <td>30.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>11</td>\n",
       "      <td>面向烟草行业研发应用的大数据分析平台</td>\n",
       "      <td>张海涛; 薛翔</td>\n",
       "      <td>计算机应用与软件</td>\n",
       "      <td>2021-06-12</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>12</td>\n",
       "      <td>城市级智慧停车综合管理系统的研究与应用</td>\n",
       "      <td>张明慧; 史小辉</td>\n",
       "      <td>计算机应用与软件</td>\n",
       "      <td>2021-06-12</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>13</td>\n",
       "      <td>山东省智慧果业云服务平台的设计与实现</td>\n",
       "      <td>崔冬冬;王晓芳;李晨;周菲;李颖芳</td>\n",
       "      <td>中国果树</td>\n",
       "      <td>2021-06-10</td>\n",
       "      <td>NaN</td>\n",
       "      <td>22.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>14</td>\n",
       "      <td>科技赋能：新业态下的教育出版编辑成长策略探析</td>\n",
       "      <td>吴陈滨</td>\n",
       "      <td>中国编辑</td>\n",
       "      <td>2021-06-10</td>\n",
       "      <td>NaN</td>\n",
       "      <td>8.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>15</td>\n",
       "      <td>共享经济平台数据治理:框架构建、核心要素及优化策略  网络首发</td>\n",
       "      <td>蒋国银; 陈玉凤; 匡亚林</td>\n",
       "      <td>情报杂志</td>\n",
       "      <td>2021-06-09 13:36</td>\n",
       "      <td>NaN</td>\n",
       "      <td>175.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>16</td>\n",
       "      <td>打造数字湾区：粤港澳大湾区大数据中心建设的关键问题与路径建构</td>\n",
       "      <td>曾坚朋; 王建冬; 黄倩倩; 易成岐; 郭巧敏</td>\n",
       "      <td>电子政务</td>\n",
       "      <td>2021-06-09</td>\n",
       "      <td>NaN</td>\n",
       "      <td>274.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>17</td>\n",
       "      <td>2021数博会“数字政府论坛”在贵阳成功召开</td>\n",
       "      <td>NaN</td>\n",
       "      <td>电子政务</td>\n",
       "      <td>2021-06-09</td>\n",
       "      <td>NaN</td>\n",
       "      <td>31.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>18</td>\n",
       "      <td>数据长城：国家数据资源储备体系的构建思路与实现路径</td>\n",
       "      <td>陈东; 赵正; 童楠楠; 王建冬; 都海明</td>\n",
       "      <td>电子政务</td>\n",
       "      <td>2021-06-09</td>\n",
       "      <td>NaN</td>\n",
       "      <td>66.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>19</td>\n",
       "      <td>互联网平台垄断治理机制——基于平台双轮垄断发生机理的考察</td>\n",
       "      <td>陈兵; 林思宇</td>\n",
       "      <td>中国流通经济</td>\n",
       "      <td>2021-06-09</td>\n",
       "      <td>NaN</td>\n",
       "      <td>443.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>20</td>\n",
       "      <td>数据驱动型并购的经营者集中审查挑战及应对策略</td>\n",
       "      <td>程晶晶</td>\n",
       "      <td>中国流通经济</td>\n",
       "      <td>2021-06-09</td>\n",
       "      <td>NaN</td>\n",
       "      <td>94.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>21</td>\n",
       "      <td>土壤健康指标体系与评价方法研究进展  网络首发</td>\n",
       "      <td>张江周; 李奕赞; 李颖; 张俊伶; 张福锁</td>\n",
       "      <td>土壤学报</td>\n",
       "      <td>2021-06-07 17:21</td>\n",
       "      <td>NaN</td>\n",
       "      <td>285.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>22</td>\n",
       "      <td>我国警用地理信息系统建设的实践与思考  网络首发</td>\n",
       "      <td>贺日兴</td>\n",
       "      <td>测绘科学</td>\n",
       "      <td>2021-06-07 11:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>97.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>23</td>\n",
       "      <td>“互联网+精准扶贫”模式下乡村生态旅游平台的创新研究</td>\n",
       "      <td>张斯雯; 郑小松; 赵喆</td>\n",
       "      <td>农业经济</td>\n",
       "      <td>2021-06-04</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1073.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>24</td>\n",
       "      <td>互联网新媒体传播中农村职业培训脱贫致富基本内涵的逻辑生成</td>\n",
       "      <td>杨宗晓; 杨克</td>\n",
       "      <td>农业经济</td>\n",
       "      <td>2021-06-04</td>\n",
       "      <td>NaN</td>\n",
       "      <td>108.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>25</td>\n",
       "      <td>大智移云时代农村会计资源共享的风险与控制</td>\n",
       "      <td>赵丽金</td>\n",
       "      <td>农业经济</td>\n",
       "      <td>2021-06-04</td>\n",
       "      <td>NaN</td>\n",
       "      <td>62.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>26</td>\n",
       "      <td>基于共享服务的个人所得税税收治理现代化探究</td>\n",
       "      <td>周卫华; 方雪婷</td>\n",
       "      <td>财会月刊</td>\n",
       "      <td>2021-06-03 18:09</td>\n",
       "      <td>NaN</td>\n",
       "      <td>186.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>27</td>\n",
       "      <td>基于大数据智能控制一体化平台架构的智慧监盘关键技术研究  网络首发</td>\n",
       "      <td>耿林霄;郭亦文;杨猛;高林;王林</td>\n",
       "      <td>热力发电</td>\n",
       "      <td>2021-06-03 17:41</td>\n",
       "      <td>NaN</td>\n",
       "      <td>104.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>28</td>\n",
       "      <td>“居家社区机构相协调”:政策机理和实现路径</td>\n",
       "      <td>赵曼; 邢怡青</td>\n",
       "      <td>社会保障研究</td>\n",
       "      <td>2021-06-02 12:14</td>\n",
       "      <td>NaN</td>\n",
       "      <td>328.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>29</td>\n",
       "      <td>平台经济驱动下电商C2M模式的发展：创新、困境及策略选择</td>\n",
       "      <td>刘思彤</td>\n",
       "      <td>财会月刊</td>\n",
       "      <td>2021-06-02 10:47</td>\n",
       "      <td>NaN</td>\n",
       "      <td>218.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>30</td>\n",
       "      <td>基于物联网技术的供应链金融业务创新探索</td>\n",
       "      <td>周家珍</td>\n",
       "      <td>西南金融</td>\n",
       "      <td>2021-06-02 08:54</td>\n",
       "      <td>NaN</td>\n",
       "      <td>638.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>31</td>\n",
       "      <td>健康中国战略下保险科技赋能商业健康保险发展研究</td>\n",
       "      <td>胡芳; 彭琛; 陈小红</td>\n",
       "      <td>西南金融</td>\n",
       "      <td>2021-06-01 16:20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>363.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>32</td>\n",
       "      <td>教育数据资源服务的策略机制和实现路径研究——基于平台生态系统视角</td>\n",
       "      <td>李素丽; 徐晓东</td>\n",
       "      <td>电化教育研究</td>\n",
       "      <td>2021-06-01</td>\n",
       "      <td>NaN</td>\n",
       "      <td>175.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>33</td>\n",
       "      <td>智慧社会视域下的政府监管创新：使命、困境与进路</td>\n",
       "      <td>郭剑鸣; 赵强</td>\n",
       "      <td>社会科学战线</td>\n",
       "      <td>2021-06-01</td>\n",
       "      <td>NaN</td>\n",
       "      <td>58.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>34</td>\n",
       "      <td>美兰德咨询 视频大数据生态推动者</td>\n",
       "      <td>NaN</td>\n",
       "      <td>当代电视</td>\n",
       "      <td>2021-06-01</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>35</td>\n",
       "      <td>基于流计算的大客户用能智能分析方法</td>\n",
       "      <td>保富; 黄祖源</td>\n",
       "      <td>电力系统保护与控制</td>\n",
       "      <td>2021-06-01</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>36</td>\n",
       "      <td>智能时代教育治理现代化的特征、结构与发展路径</td>\n",
       "      <td>余聪; 陈剑波</td>\n",
       "      <td>教学与管理</td>\n",
       "      <td>2021-05-31</td>\n",
       "      <td>NaN</td>\n",
       "      <td>224.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>37</td>\n",
       "      <td>人工智能视域下现代教育治理的赋能与重塑</td>\n",
       "      <td>刘尧</td>\n",
       "      <td>教学与管理</td>\n",
       "      <td>2021-05-31</td>\n",
       "      <td>NaN</td>\n",
       "      <td>403.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>38</td>\n",
       "      <td>平台事件网络舆情传播的影响因素与治理策略研究:基于WSR的扎根分析</td>\n",
       "      <td>蒋国银; 陈玉凤; 蔡兴顺; 张美娟</td>\n",
       "      <td>管理评论</td>\n",
       "      <td>2021-05-31</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>39</td>\n",
       "      <td>中国智能制造企业的价值链分析：微观治理结构、演进路径与制度保障</td>\n",
       "      <td>裘莹; 赵忠秀; 林曦</td>\n",
       "      <td>国际贸易</td>\n",
       "      <td>2021-05-28</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>40</td>\n",
       "      <td>大数据技术的震后救援信息处理平台研制与应用</td>\n",
       "      <td>李攀; 刘庆杰; 周兆军; 刘颖; 李寒莉</td>\n",
       "      <td>科学技术与工程</td>\n",
       "      <td>2021-05-28</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>41</td>\n",
       "      <td>面向烟草领域的科研知识图谱服务平台关键技术研究  网络首发</td>\n",
       "      <td>王卫军;李娜;郑新章;刘亚丽;杜一</td>\n",
       "      <td>中国烟草学报</td>\n",
       "      <td>2021-05-27 11:46</td>\n",
       "      <td>NaN</td>\n",
       "      <td>109.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>42</td>\n",
       "      <td>教育信息化2.0背景下省级教育大数据平台建设研究  网络首发</td>\n",
       "      <td>汤岭球</td>\n",
       "      <td>当代教育论坛</td>\n",
       "      <td>2021-05-26 18:52</td>\n",
       "      <td>NaN</td>\n",
       "      <td>426.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>43</td>\n",
       "      <td>审计全覆盖驱动下大数据审计平台构建研究</td>\n",
       "      <td>刘国城; 马欣萌; 徐志</td>\n",
       "      <td>会计之友</td>\n",
       "      <td>2021-05-26 17:11</td>\n",
       "      <td>NaN</td>\n",
       "      <td>361.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>44</td>\n",
       "      <td>新技术赋能市场监管智能化：图景、障碍与进路</td>\n",
       "      <td>王湘军; 庞尚尚</td>\n",
       "      <td>行政论坛</td>\n",
       "      <td>2021-05-25</td>\n",
       "      <td>NaN</td>\n",
       "      <td>76.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>45</td>\n",
       "      <td>平台V.S.用户：谁该向谁付费——数字平台与用户之间基于数据的经济关系探讨</td>\n",
       "      <td>徐偲骕; 李欢</td>\n",
       "      <td>新闻与传播研究</td>\n",
       "      <td>2021-05-25</td>\n",
       "      <td>NaN</td>\n",
       "      <td>55.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>46</td>\n",
       "      <td>大数据时代思想政治教育“微”透视</td>\n",
       "      <td>柳海燕</td>\n",
       "      <td>中学政治教学参考</td>\n",
       "      <td>2021-05-25</td>\n",
       "      <td>NaN</td>\n",
       "      <td>91.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>47</td>\n",
       "      <td>新技术在线上实物实验平台的研究与探索</td>\n",
       "      <td>郑磊; 胡仁杰; 堵国樑; 黄慧春</td>\n",
       "      <td>实验室研究与探索</td>\n",
       "      <td>2021-05-25</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>48</td>\n",
       "      <td>大数据在外语教学中的价值、来源与技术分析</td>\n",
       "      <td>黄敏</td>\n",
       "      <td>外国语文</td>\n",
       "      <td>2021-05-25</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>49</td>\n",
       "      <td>打造教育人工智能大脑:教育数据中台技术实现路径</td>\n",
       "      <td>李爱霞; 舒杭; 顾小清</td>\n",
       "      <td>开放教育研究</td>\n",
       "      <td>2021-05-24</td>\n",
       "      <td>NaN</td>\n",
       "      <td>351.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>50</td>\n",
       "      <td>大数据时代交往理性的可能性探究</td>\n",
       "      <td>鲁绍臣; 王雨田</td>\n",
       "      <td>宁夏社会科学</td>\n",
       "      <td>2021-05-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>131.0</td>\n",
       "      <td>下载</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    Unnamed: 0                                     篇名  \\\n",
       "0            1                      加强新时代高校网络思想政治教育探究   \n",
       "1            2              数据驱动外卖平台智能派单的实现机理研究  网络首发   \n",
       "2            3               基于大数据的煤矿综合业务管控平台开发  网络首发   \n",
       "3            4        基于工业物联网的智能矿山基础信息采集关键技术与平台  网络首发   \n",
       "4            5                      基于智慧协同的电子商务物流体系优化   \n",
       "5            6                “互联网+”背景下餐饮类商业老字号转型升级研究   \n",
       "6            7                    关于城市大脑未来形态的思考  网络首发   \n",
       "7            8                基于大数据的数字化电能计量误差分析  网络首发   \n",
       "8            9                 基于4S融合的新一代智能汽车创新发展战略研究   \n",
       "9           10         法益抑或财产权利？——《民法典》规定的“数据”的法律性质认定   \n",
       "10          11                     面向烟草行业研发应用的大数据分析平台   \n",
       "11          12                    城市级智慧停车综合管理系统的研究与应用   \n",
       "12          13                     山东省智慧果业云服务平台的设计与实现   \n",
       "13          14                 科技赋能：新业态下的教育出版编辑成长策略探析   \n",
       "14          15        共享经济平台数据治理:框架构建、核心要素及优化策略  网络首发   \n",
       "15          16         打造数字湾区：粤港澳大湾区大数据中心建设的关键问题与路径建构   \n",
       "16          17                 2021数博会“数字政府论坛”在贵阳成功召开   \n",
       "17          18              数据长城：国家数据资源储备体系的构建思路与实现路径   \n",
       "18          19           互联网平台垄断治理机制——基于平台双轮垄断发生机理的考察   \n",
       "19          20                 数据驱动型并购的经营者集中审查挑战及应对策略   \n",
       "20          21                土壤健康指标体系与评价方法研究进展  网络首发   \n",
       "21          22               我国警用地理信息系统建设的实践与思考  网络首发   \n",
       "22          23             “互联网+精准扶贫”模式下乡村生态旅游平台的创新研究   \n",
       "23          24           互联网新媒体传播中农村职业培训脱贫致富基本内涵的逻辑生成   \n",
       "24          25                   大智移云时代农村会计资源共享的风险与控制   \n",
       "25          26                  基于共享服务的个人所得税税收治理现代化探究   \n",
       "26          27      基于大数据智能控制一体化平台架构的智慧监盘关键技术研究  网络首发   \n",
       "27          28                  “居家社区机构相协调”:政策机理和实现路径   \n",
       "28          29           平台经济驱动下电商C2M模式的发展：创新、困境及策略选择   \n",
       "29          30                    基于物联网技术的供应链金融业务创新探索   \n",
       "30          31                健康中国战略下保险科技赋能商业健康保险发展研究   \n",
       "31          32       教育数据资源服务的策略机制和实现路径研究——基于平台生态系统视角   \n",
       "32          33                智慧社会视域下的政府监管创新：使命、困境与进路   \n",
       "33          34                       美兰德咨询 视频大数据生态推动者   \n",
       "34          35                      基于流计算的大客户用能智能分析方法   \n",
       "35          36                 智能时代教育治理现代化的特征、结构与发展路径   \n",
       "36          37                    人工智能视域下现代教育治理的赋能与重塑   \n",
       "37          38      平台事件网络舆情传播的影响因素与治理策略研究:基于WSR的扎根分析   \n",
       "38          39        中国智能制造企业的价值链分析：微观治理结构、演进路径与制度保障   \n",
       "39          40                  大数据技术的震后救援信息处理平台研制与应用   \n",
       "40          41          面向烟草领域的科研知识图谱服务平台关键技术研究  网络首发   \n",
       "41          42         教育信息化2.0背景下省级教育大数据平台建设研究  网络首发   \n",
       "42          43                    审计全覆盖驱动下大数据审计平台构建研究   \n",
       "43          44                  新技术赋能市场监管智能化：图景、障碍与进路   \n",
       "44          45  平台V.S.用户：谁该向谁付费——数字平台与用户之间基于数据的经济关系探讨   \n",
       "45          46                       大数据时代思想政治教育“微”透视   \n",
       "46          47                     新技术在线上实物实验平台的研究与探索   \n",
       "47          48                   大数据在外语教学中的价值、来源与技术分析   \n",
       "48          49                打造教育人工智能大脑:教育数据中台技术实现路径   \n",
       "49          50                        大数据时代交往理性的可能性探究   \n",
       "\n",
       "                         作者          刊名              发表时间  被引      下载  操作  \n",
       "0                        高歌   学校党建与思想教育        2021-06-23 NaN     NaN  下载  \n",
       "1                   熊浩; 鄢慧丽      南开管理评论  2021-06-22 08:51 NaN     NaN  下载  \n",
       "2         张波;赵耀忠;刘跃;田文明;赵晋松        热力发电  2021-06-21 17:09 NaN     NaN  下载  \n",
       "3        贺耀宜; 刘丽静; 赵立厂; 周李兵       工矿自动化  2021-06-21 15:36 NaN     NaN  下载  \n",
       "4                  张滨丽; 王作铁      商业经济研究        2021-06-21 NaN     NaN  下载  \n",
       "5                        吕倩      商业经济研究        2021-06-21 NaN     NaN  下载  \n",
       "6                       胡坚波   人民论坛·学术前沿  2021-06-18 11:09 NaN   151.0  下载  \n",
       "7            田园; 张梅; 保富; 原野       电测与仪表  2021-06-17 10:38 NaN    14.0  下载  \n",
       "8         刘宗巍; 宋昊坤; 郝瀚; 赵福全      中国工程科学  2021-06-15 16:45 NaN    89.0  下载  \n",
       "9                       沈浩蓝  科技与法律(中英文)        2021-06-12 NaN    30.0  下载  \n",
       "10                  张海涛; 薛翔    计算机应用与软件        2021-06-12 NaN     NaN  下载  \n",
       "11                 张明慧; 史小辉    计算机应用与软件        2021-06-12 NaN     NaN  下载  \n",
       "12        崔冬冬;王晓芳;李晨;周菲;李颖芳        中国果树        2021-06-10 NaN    22.0  下载  \n",
       "13                      吴陈滨        中国编辑        2021-06-10 NaN     8.0  下载  \n",
       "14            蒋国银; 陈玉凤; 匡亚林        情报杂志  2021-06-09 13:36 NaN   175.0  下载  \n",
       "15  曾坚朋; 王建冬; 黄倩倩; 易成岐; 郭巧敏        电子政务        2021-06-09 NaN   274.0  下载  \n",
       "16                      NaN        电子政务        2021-06-09 NaN    31.0  下载  \n",
       "17    陈东; 赵正; 童楠楠; 王建冬; 都海明        电子政务        2021-06-09 NaN    66.0  下载  \n",
       "18                  陈兵; 林思宇      中国流通经济        2021-06-09 NaN   443.0  下载  \n",
       "19                      程晶晶      中国流通经济        2021-06-09 NaN    94.0  下载  \n",
       "20   张江周; 李奕赞; 李颖; 张俊伶; 张福锁        土壤学报  2021-06-07 17:21 NaN   285.0  下载  \n",
       "21                      贺日兴        测绘科学  2021-06-07 11:00 NaN    97.0  下载  \n",
       "22             张斯雯; 郑小松; 赵喆        农业经济        2021-06-04 NaN  1073.0  下载  \n",
       "23                  杨宗晓; 杨克        农业经济        2021-06-04 NaN   108.0  下载  \n",
       "24                      赵丽金        农业经济        2021-06-04 NaN    62.0  下载  \n",
       "25                 周卫华; 方雪婷        财会月刊  2021-06-03 18:09 NaN   186.0  下载  \n",
       "26         耿林霄;郭亦文;杨猛;高林;王林        热力发电  2021-06-03 17:41 NaN   104.0  下载  \n",
       "27                  赵曼; 邢怡青      社会保障研究  2021-06-02 12:14 NaN   328.0  下载  \n",
       "28                      刘思彤        财会月刊  2021-06-02 10:47 NaN   218.0  下载  \n",
       "29                      周家珍        西南金融  2021-06-02 08:54 NaN   638.0  下载  \n",
       "30              胡芳; 彭琛; 陈小红        西南金融  2021-06-01 16:20 NaN   363.0  下载  \n",
       "31                 李素丽; 徐晓东      电化教育研究        2021-06-01 NaN   175.0  下载  \n",
       "32                  郭剑鸣; 赵强      社会科学战线        2021-06-01 NaN    58.0  下载  \n",
       "33                      NaN        当代电视        2021-06-01 NaN     4.0  下载  \n",
       "34                  保富; 黄祖源   电力系统保护与控制        2021-06-01 NaN     1.0  下载  \n",
       "35                  余聪; 陈剑波       教学与管理        2021-05-31 NaN   224.0  下载  \n",
       "36                       刘尧       教学与管理        2021-05-31 NaN   403.0  下载  \n",
       "37       蒋国银; 陈玉凤; 蔡兴顺; 张美娟        管理评论        2021-05-31 NaN     NaN  下载  \n",
       "38              裘莹; 赵忠秀; 林曦        国际贸易        2021-05-28 NaN     NaN  下载  \n",
       "39    李攀; 刘庆杰; 周兆军; 刘颖; 李寒莉     科学技术与工程        2021-05-28 NaN     NaN  下载  \n",
       "40        王卫军;李娜;郑新章;刘亚丽;杜一      中国烟草学报  2021-05-27 11:46 NaN   109.0  下载  \n",
       "41                      汤岭球      当代教育论坛  2021-05-26 18:52 NaN   426.0  下载  \n",
       "42             刘国城; 马欣萌; 徐志        会计之友  2021-05-26 17:11 NaN   361.0  下载  \n",
       "43                 王湘军; 庞尚尚        行政论坛        2021-05-25 NaN    76.0  下载  \n",
       "44                  徐偲骕; 李欢     新闻与传播研究        2021-05-25 NaN    55.0  下载  \n",
       "45                      柳海燕    中学政治教学参考        2021-05-25 NaN    91.0  下载  \n",
       "46        郑磊; 胡仁杰; 堵国樑; 黄慧春    实验室研究与探索        2021-05-25 NaN     NaN  下载  \n",
       "47                       黄敏        外国语文        2021-05-25 NaN     NaN  下载  \n",
       "48             李爱霞; 舒杭; 顾小清      开放教育研究        2021-05-24 NaN   351.0  下载  \n",
       "49                 鲁绍臣; 王雨田      宁夏社会科学        2021-05-20 NaN   131.0  下载  "
      ]
     },
     "execution_count": 218,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 查看页面信息\n",
    "element = driver.find_element_by_id('gridTable')\n",
    "page_html = element.get_attribute('innerHTML')\n",
    "page_html\n",
    "pd.read_html(page_html)[0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 导出refworks文件"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 219,
   "metadata": {},
   "outputs": [],
   "source": [
    "driver.switch_to.window(driver.window_handles[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 220,
   "metadata": {},
   "outputs": [],
   "source": [
    "driver.find_element_by_id('PageNext').get_attribute('src')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 221,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 全选文章\n",
    "element = driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[2]/div[2]/form/div/div[1]/div[2]/div[1]/label/input')\n",
    "element.click()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 222,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 选择导出\n",
    "element = driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[2]/div[2]/form/div/div[1]/div[2]/ul[1]/li[2]/i')\n",
    "element.click()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 223,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 选择导出格式\n",
    "element = driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[2]/div[2]/form/div/div[1]/div[2]/ul[1]/li[2]/ul/li[1]/a')\n",
    "element.click()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 224,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 选择refworks文件\n",
    "element = driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[2]/div[2]/form/div/div[1]/div[2]/ul[1]/li[2]/ul/li[1]/ul/li[8]/a')\n",
    "element.click()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 225,
   "metadata": {},
   "outputs": [],
   "source": [
    "driver.switch_to.window(driver.window_handles[2])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 226,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 批量导出\n",
    "element = driver.find_element_by_xpath('//*[@id=\"litotxt\"]/a')\n",
    "element.click()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 227,
   "metadata": {},
   "outputs": [],
   "source": [
    "driver.close()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 循环导出"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 228,
   "metadata": {},
   "outputs": [],
   "source": [
    "driver.switch_to.window(driver.window_handles[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 229,
   "metadata": {},
   "outputs": [],
   "source": [
    "for page in range(0,10):\n",
    "    driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[2]/div[2]/form/div/div[1]/div[2]/div[1]/label/input').click()\n",
    "    driver.find_element_by_xpath('//*[@id=\"PageNext\"]').click()\n",
    "    time.sleep(8) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 微软计算机视觉-提取印刷体文本和手写文本 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 234,
   "metadata": {},
   "outputs": [],
   "source": [
    "import json\n",
    "import os\n",
    "import sys\n",
    "import requests\n",
    "import time\n",
    "# If you are using a Jupyter notebook, uncomment the following line.\n",
    "# %matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.patches import Polygon\n",
    "from PIL import Image\n",
    "from io import BytesIO"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 235,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{\n",
      "    \"status\": \"running\",\n",
      "    \"createdDateTime\": \"2021-06-23T16:43:07Z\",\n",
      "    \"lastUpdatedDateTime\": \"2021-06-23T16:43:07Z\"\n",
      "}\n",
      "{\n",
      "    \"status\": \"succeeded\",\n",
      "    \"createdDateTime\": \"2021-06-23T16:43:07Z\",\n",
      "    \"lastUpdatedDateTime\": \"2021-06-23T16:43:08Z\",\n",
      "    \"analyzeResult\": {\n",
      "        \"version\": \"3.0.0\",\n",
      "        \"readResults\": [\n",
      "            {\n",
      "                \"page\": 1,\n",
      "                \"angle\": 0.5355,\n",
      "                \"width\": 417,\n",
      "                \"height\": 211,\n",
      "                \"unit\": \"pixel\",\n",
      "                \"lines\": [\n",
      "                    {\n",
      "                        \"boundingBox\": [\n",
      "                            53,\n",
      "                            60,\n",
      "                            374,\n",
      "                            62,\n",
      "                            373,\n",
      "                            151,\n",
      "                            52,\n",
      "                            147\n",
      "                        ],\n",
      "                        \"text\": \"7 364\",\n",
      "                        \"words\": [\n",
      "                            {\n",
      "                                \"boundingBox\": [\n",
      "                                    60,\n",
      "                                    66,\n",
      "                                    122,\n",
      "                                    63,\n",
      "                                    119,\n",
      "                                    143,\n",
      "                                    57,\n",
      "                                    140\n",
      "                                ],\n",
      "                                \"text\": \"7\",\n",
      "                                \"confidence\": 0.981\n",
      "                            },\n",
      "                            {\n",
      "                                \"boundingBox\": [\n",
      "                                    136,\n",
      "                                    63,\n",
      "                                    371,\n",
      "                                    63,\n",
      "                                    366,\n",
      "                                    152,\n",
      "                                    133,\n",
      "                                    144\n",
      "                                ],\n",
      "                                \"text\": \"364\",\n",
      "                                \"confidence\": 0.907\n",
      "                            }\n",
      "                        ]\n",
      "                    }\n",
      "                ]\n",
      "            }\n",
      "        ]\n",
      "    }\n",
      "}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "missing_env = False\n",
    "\n",
    "text_recognition_url = \"https://ce.cognitiveservices.azure.com/vision/v3.0/read/analyze\"\n",
    "\n",
    "# Set image_url to the URL of an image that you want to recognize.\n",
    "image_url = \"http://www.xiaobaixitong.com/d/file/help/2018-08-06/f15ce5d652d8da38e9e0e384f35b39d7.png\"\n",
    "subscription_key = \"94aa790f12a8461dbc5c1e8c9df3a86c\"\n",
    "headers = {'Ocp-Apim-Subscription-Key': subscription_key}\n",
    "data = {'url': image_url}\n",
    "response = requests.post(\n",
    "    text_recognition_url, headers=headers, json=data)\n",
    "response.raise_for_status()\n",
    "\n",
    "operation_url = response.headers[\"Operation-Location\"]\n",
    "\n",
    "analysis = {}\n",
    "poll = True\n",
    "while (poll):\n",
    "    response_final = requests.get(\n",
    "        response.headers[\"Operation-Location\"], headers=headers)\n",
    "    analysis = response_final.json()\n",
    "    \n",
    "    print(json.dumps(analysis, indent=4))\n",
    "\n",
    "    time.sleep(1)\n",
    "    if (\"analyzeResult\" in analysis):\n",
    "        poll = False\n",
    "    if (\"status\" in analysis and analysis['status'] == 'failed'):\n",
    "        poll = False\n",
    "\n",
    "polygons = []\n",
    "if (\"analyzeResult\" in analysis):\n",
    "    # Extract the recognized text, with bounding boxes.\n",
    "    polygons = [(line[\"boundingBox\"], line[\"text\"])\n",
    "                for line in analysis[\"analyzeResult\"][\"readResults\"][0][\"lines\"]]\n",
    "\n",
    "# Display the image and overlay it with the extracted text.\n",
    "image = Image.open(BytesIO(requests.get(image_url).content))\n",
    "ax = plt.imshow(image)\n",
    "for polygon in polygons:\n",
    "    vertices = [(polygon[0][i], polygon[0][i+1])\n",
    "                for i in range(0, len(polygon[0]), 2)]\n",
    "    text = polygon[1]\n",
    "    patch = Polygon(vertices, closed=True, fill=False, linewidth=2, color='y')\n",
    "    ax.axes.add_patch(patch)\n",
    "    plt.text(vertices[0][0], vertices[0][1], text, fontsize=20, va=\"top\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "180px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
